#pragma once
#include <game/Config.h>
#include <animate/Soul.h>

ARELLO_GAME_NAMESPACE_DECL_START
class Timer : public animate::Soul
{
public:
	Timer();
	virtual ~Timer();

	virtual void life_cycle(double delta_time);

	void setTime(float _time);
	float getTime();
	float getLifeTime();

	void pause();
	void resume();
	bool is_paused();
	bool is_finished();
	void release();
	void restart();
	void start();
	
private:
	float time, lifeTime;
	bool _paused, _release, _finished;
};

ARELLO_GAME_NAMESPACE_DECL_END